package com.example.excelapache_poi.apache_poi操作excel;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.FontFormatting;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Created by IntelliJ IDEA2022.3.2
 * @Author: Tenghw
 * @Date: 2023/07/02  13:32
 * @Description: Excel表单元格控制 —— 设置字体
 */
public class Demo6 {
    public static void main(String[] args) throws IOException {
        // 1.文件路径
        String filePath = "E:\\exceldemo\\Demo6.xls";
        // 2.创建Excel文件（Workbook）
        HSSFWorkbook workbook = new HSSFWorkbook();
        // 3.创建工作表（Sheet）
        HSSFSheet sheet = workbook.createSheet("Sheet6");
        // 4.创建行（Row），从0开始
        HSSFRow row = sheet.createRow(0);

        // 5.创建行的单元格（Cell，即列），也是从0开始
        HSSFCell cell = row.createCell(0);
        cell.setCellValue("设置字体");
        HSSFCellStyle style = workbook.createCellStyle();
        HSSFFont font = workbook.createFont();
        // 设置字体名称
        font.setFontName("华文行楷");
        // 设置字号
        font.setFontHeightInPoints((short) 28);
        // 设置字体颜色
        font.setColor(HSSFColor.RED.index);
        // 设置下划线
        font.setUnderline(FontFormatting.U_SINGLE);
        // 设置上标下标
        font.setTypeOffset(FontFormatting.SS_SUPER);

        style.setFont(font);
        cell.setCellStyle(style);

        // 6.文件输出流
        FileOutputStream out = new FileOutputStream(filePath);
        // 保存到Excel文件中
        workbook.write(out);

        // 7.关闭流
        out.flush();
        out.close();
        workbook.close();
        System.out.println("设置字体OK！");
    }
}
